import random
from typing import List

def generate_binary_strings(count: int, max_length: int = 10) -> List[str]:
    """生成随机二进制字符串数组"""
    strs = []
    for _ in range(count):
        length = random.randint(1, max_length)
        binary_str = ''.join(random.choice('01') for _ in range(length))
        strs.append(binary_str)
    return strs

def generate_test_case(str_count: int = 5, max_str_length: int = 10, max_m: int = 10, max_n: int = 10):
    """生成完整的测试用例"""
    strs = generate_binary_strings(str_count, max_str_length)
    m = random.randint(1, max_m)
    n = random.randint(1, max_n)
    return strs, m, n

def generate_predefined_cases():
    """生成预定义的测试用例"""
    cases = [
        # 示例1
        (["10", "0001", "111001", "1", "0"], 5, 3),
        # 示例2
        (["10", "0", "1"], 1, 1),
        # 边界情况
        (["0"], 1, 0),
        (["1"], 0, 1),
        (["00", "11"], 2, 2),
        # 复杂情况
        (["10", "0001", "111001", "1", "0", "1110", "001"], 10, 5)
    ]
    return cases
